Managing a smart appliance with a mobile device

ABSTRACT

A method, system or computer usable program product for a smart appliance to interact with a user through a mobile device including detecting whether a mobile device associated with a first user is outside a user configurable proximity range of a smart appliance; detecting a status of the smart appliance via a set of sensors; and responsive to detecting that the mobile device is outside the user configurable proximity range, sending a user configurable message to the mobile device associated with the first user including the status of the smart appliance.

TECHNICAL FIELD

The present invention relates generally to managing a smart appliance,and in particular, to a computer implemented method for managing a smartappliance with a mobile device.

DESCRIPTION OF RELATED ART

Many types of appliances are utilized today in homes and businesses forreducing workload for everyday chores and for improving the quality oflife. However, these appliances are often left unattended for periods oftime, particularly by those with medical or age induced conditions suchas Alzheimer's disease. Some appliances may be hazardous if leftunattended for extended periods of time or if they malfunction. Forexample, food being cooked may burn or boil over, a malfunctioning dryermay catch fire, etc. As a result, a variety of innovations have beendeveloped to address these hazardous conditions. For example, an ovenmay turn off or provide an audio signal when a designated amount of timehas lapsed, smoke alarms may be utilized to identify when a smokeinducing event has occurred and then provide an audio signal and/or sendan alarm signal to a central alarm company, etc.

SUMMARY

The illustrative embodiments provide a method, system, and computerusable program product for a smart appliance to interact with a userthrough a mobile device including detecting whether a mobile deviceassociated with a first user is outside a user configurable proximityrange of a smart appliance; detecting a status of the smart appliancevia a set of sensors; and responsive to detecting that the mobile deviceis outside the user configurable proximity range, sending a userconfigurable message to the mobile device associated with the first userincluding the status of the smart appliance.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, further objectivesand advantages thereof, as well as a preferred mode of use, will best beunderstood by reference to the following detailed description ofillustrative embodiments when read in conjunction with the accompanyingdrawings, wherein:

FIG. 1 is a block diagram of an illustrative data processing system inwhich various embodiments of the present disclosure may be implemented;

FIG. 2 is a block diagram of an illustrative network of data processingsystems in which various embodiments of the present disclosure may beimplemented;

FIG. 3 is a block diagram of smart appliances interacting with usersthrough mobile devices in which various embodiments may be implemented;

FIG. 4 is a flow diagram of registering a mobile device with a smartappliance in which various embodiments may be implemented;

FIG. 5 is a flow diagram of a smart appliance performing a task inaccordance with a first embodiment; and

FIG. 6 is a flow diagram of a smart appliance performing a task inaccordance with a second embodiment.

DETAILED DESCRIPTION

Processes and devices may be implemented and utilized for managing asmart appliance with a mobile device. These processes and apparatusesmay be implemented and utilized as will be explained with reference tothe various embodiments below.

FIG. 1 is a block diagram of an illustrative data processing system inwhich various embodiments of the present disclosure may be implemented.Data processing system 100 is one example of a suitable data processingsystem and is not intended to suggest any limitation as to the scope ofuse or functionality of the embodiments described herein. Regardless,data processing system 100 is capable of being implemented and/orperforming any of the functionality set forth herein such as managing asmart appliance with a mobile device.

In data processing system 100 there is a computer system/server 112,which is operational with numerous other general purpose or specialpurpose computing system environments, peripherals, or configurations.Examples of well-known computing systems, environments, and/orconfigurations that may be suitable for use with computer system/server112 include, but are not limited to, personal computer systems, servercomputer systems, thin clients, thick clients, hand-held or laptopdevices, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, network PCs, minicomputersystems, mainframe computer systems, and distributed cloud computingenvironments that include any of the above systems or devices, and thelike.

Computer system/server 112 may be described in the general context ofcomputer system-executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 112 may be practiced in distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote computer system storage media including memorystorage devices.

As shown in FIG. 1, computer system/server 112 in data processing system100 is shown in the form of a general-purpose computing device. Thecomponents of computer system/server 112 may include, but are notlimited to, one or more processors or processing units 116, a systemmemory 128, and a bus 118 that couples various system componentsincluding system memory 128 to processor 116.

Bus 118 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

Computer system/server 112 typically includes a variety ofnon-transitory computer system usable media. Such media may be anyavailable media that is accessible by computer system/server 112, and itincludes both volatile and non-volatile media, removable andnon-removable media.

System memory 128 can include non-transitory computer system readablemedia in the form of volatile memory, such as random access memory (RAM)130 and/or cache memory 132. Computer system/server 112 may furtherinclude other non-transitory removable/non-removable,volatile/non-volatile computer system storage media. By way of example,storage system 134 can be provided for reading from and writing to anon-removable, non-volatile magnetic media (not shown and typicallycalled a “hard drive”). Although not shown, a USB interface for readingfrom and writing to a removable, non-volatile magnetic chip (e.g., a“flash drive”), and an optical disk drive for reading from or writing toa removable, non-volatile optical disk such as a CD-ROM, DVD-ROM orother optical media can be provided. In such instances, each can beconnected to bus 118 by one or more data media interfaces. Memory 128may include at least one program product having a set (e.g., at leastone) of program modules that are configured to carry out the functionsof the embodiments. Memory 128 may also include data that will beprocessed by a program product.

Program/utility 140, having a set (at least one) of program modules 142,may be stored in memory 128 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 142 generally carry out the functionsand/or methodologies of the embodiments. For example, a program modulemay be software for managing a smart appliance with a mobile device.This program module may be an application (also referred to herein as anapp) or other computer program implemented or loaded onto the smartappliance or the mobile device.

Computer system/server 112 may also communicate with one or moreexternal devices 114 such as a keyboard, a pointing device, a display124, etc.; one or more devices that enable a user to interact withcomputer system/server 112; and/or any devices (e.g., network card,modem, etc.) that enable computer system/server 112 to communicate withone or more other computing devices. Such communication can occur viaI/O interfaces 122 through wired connections or wireless connections.Still yet, computer system/server 112 can communicate with one or morenetworks such as a local area network (LAN), a general wide area network(WAN), and/or a public network (e.g., the Internet) via network adapter120. As depicted, network adapter 120 communicates with the othercomponents of computer system/server 112 via bus 118. It should beunderstood that although not shown, other hardware and/or softwarecomponents could be used in conjunction with computer system/server 112.Examples, include, but are not limited to: microcode, device drivers,tape drives, RAID systems, redundant processing units, data archivalstorage systems, external disk drive arrays, etc.

FIG. 2 is a block diagram of an illustrative network of data processingsystems in which various embodiments of the present disclosure may beimplemented. Data processing environment 200 is a network of dataprocessing systems such as described above with reference to FIG. 1.Software applications such as for managing a smart appliance with amobile device may execute on any computer or other type of dataprocessing system in data processing environment 200. Data processingenvironment 200 includes network 210. Network 210 is the medium used toprovide simplex, half duplex and/or full duplex communications linksbetween various devices and computers connected together within dataprocessing environment 200. Network 210 may include connections such aswire, wireless communication links, or fiber optic cables.

Server 220 and client 240 are coupled to network 210 along with storageunit 230. In addition, laptop 250, smart appliance 270 and facility 280(such as a home or business) are coupled to network 210 includingwirelessly such as through a network router 253. A mobile device 260 anda smart appliance 270 may be coupled to network 210 through a mobilephone tower 262. Mobile device 260 is a communication device which canbe associated with a user and can include a mobile phone, smartphone,personal digital assistant (PDA), wearable device (e.g., watch, glasses,bracelet, etc.), tablet, netbook, laptop, etc. Smart appliance 270 caninclude a device or piece of equipment with processing and communicationcapabilities designed to perform a specific task or tasks, typicallydomestic tasks. Smart appliance 270 can include a cooking appliance(e.g., oven, range, cooktop, toaster, toaster oven, countertop oven,microwave, countertop cooker, electric skillet, hot plate, slow cooker,coffee maker, expresso machine, etc.), a washing appliance (e.g.,washer, dryer, dishwasher, etc.), mixing appliance (e.g., blender,mixer, food processor, etc.), food storage appliance (e.g.,refrigerator, freezer, ice maker, etc.), ventilation appliances (cooktopfan, bathroom fan, etc.), food disposal appliances (e.g., trashcompactor, garbage disposal, etc.), water treatment device (e.g., hotwater heater, water filter, water softener, etc.), air treatment devices(air conditioning units, heaters, etc.) and other types of appliances.Some appliances can fall into multiple categories. For example, a breadmaker is a mixing appliance and a cooking appliance and an ice creammaker is a mixing appliance and a short term food storage appliance.Smart appliance 270 may also be coupled directly and wirelessly withmobile device 260 such as through Bluetooth communications. Othergroupings can be utilized such as heating appliances can include cookingappliances, water heaters and air heaters. Data processing systems, suchas server 220, client 240, laptop 250, mobile device 260, smartappliance 270 and facility 280 contain data and have softwareapplications including software tools executing thereon. Other types ofdata processing systems such as personal digital assistants (PDAs),mobile phone, smartphones, tablets and netbooks may be coupled tonetwork 210.

Server 220 may include software application 224 and data 226 formanaging a smart appliance with a mobile device or other softwareapplications and data in accordance with embodiments described herein.Storage 230 may contain software application 234 and a content sourcesuch as data 236 for managing a smart appliance with a mobile device.Other software and content may be stored on storage 230 for sharingamong various computer or other data processing devices. Client 240 mayinclude software application 244 and data 246. Laptop 250 and mobiledevice 260 may also include software applications 254 and 264 and data256 and 266. Smart appliance 270 and facility 280 may include softwareapplications 274 and 284 as well as data 276 and 286. Other types ofdata processing systems coupled to network 210 may also include softwareapplications. Software applications could include a web browser, email,or other software application for managing a smart appliance with amobile device.

Server 220, storage unit 230, client 240, laptop 250, mobile device 260,smart appliance 270 and facility 280 and other data processing devicesmay couple to network 210 using wired connections, wirelesscommunication protocols, or other suitable data connectivity. Client 240may be, for example, a personal computer or a network computer.

In the depicted example, server 220 may provide data, such as bootfiles, operating system images, and applications to client 240 andlaptop 250. Server 220 may be a single computer system or a set ofmultiple computer systems working together to provide services in aclient server environment. Client 240 and laptop 250 may be clients toserver 220 in this example. Client 240, laptop 250, mobile device 260,smart appliance 270 and facility 280 or some combination thereof, mayinclude their own data, boot files, operating system images, andapplications. Data processing environment 200 may include additionalservers, clients, and other devices that are not shown.

In the depicted example, data processing environment 200 may be theInternet. Network 210 may represent a collection of networks andgateways that use the Transmission Control Protocol/Internet Protocol(TCP/IP) and other protocols to communicate with one another. At theheart of the Internet is a backbone of data communication links betweenmajor nodes or host computers, including thousands of commercial,governmental, educational, and other computer systems that route dataand messages. Of course, data processing environment 200 also may beimplemented as a number of different types of networks, such as forexample, an intranet, a local area network (LAN), or a wide area network(WAN). FIG. 2 is intended as an example, and not as an architecturallimitation for the different illustrative embodiments.

Among other uses, data processing environment 200 may be used forimplementing a client server environment in which the embodiments may beimplemented. A client server environment enables software applicationsand data to be distributed across a network such that an applicationfunctions by using the interactivity between a client data processingsystem and a server data processing system. Data processing environment200 may also employ a service oriented architecture where interoperablesoftware components distributed across a network may be packagedtogether as coherent business applications.

FIG. 3 is a block diagram of smart appliances interacting with usersthrough mobile devices in which various embodiments may be implemented.A first user 301 interacts with a first mobile device 310 whichcommunicates with a first smart appliance 330. First user 301 can alsointeract directly with smart appliance 330. In addition, a second user302 interacts with a second mobile device 360 which communicates with asecond smart appliance 380. Second user 302 can also interact directlywith smart appliance 380. Each of the mobile devices and smartappliances can communicate with each other either directly (such asthrough a Bluetooth connection) or through a network interface 350including server 320. Network interface 350 may be a local area networkdevice, such as a Wi-Fi router, a remote network device such as acellular tower, or other type of network interface.

First user 301 communicates with a processor 314 of mobile device 310through a user interface 312. User interface 312 may include a display,a microphone and speaker, or other types of human interfaces. Processor314 utilizes a memory 316 for storing an operating system, programs orapplications (apps), and data such as device identifiers (IDs), userIDs, and user preferences. Processor also communicates with otherdevices including a network interface through antennae 318. Antennae 318can include antennae for near field communications, local networkcommunications, cellular communications, and other types ofcommunications. Alternatively, mobile device 310 may utilize other typesof communications with other devices such as infrared, optical,auditory, visual (e.g., through a display), etc.

Second user 302 communicates with a processor 364 of mobile device 360through a user interface 362. User interface 362 may include a display,a microphone and speaker, or other types of human interfaces. Userinterface 362 can also include software, such as an application (alsoreferred to as an app), or other computer program implemented on themobile device. Processor 364 utilizes a memory 366 for storing anoperating system, programs or applications (apps), and data such asdevice identifiers (IDs), user IDs, and user preferences. Processor alsocommunicates with other devices through antennae 368. Antennae 368 caninclude antennae for near field communications, local networkcommunications, cellular communications, and other types ofcommunications. Alternatively, mobile device 360 may utilize other typesof communications with other devices such as infrared, optical,auditory, visual (e.g., through a display), etc.

First user 301 can also communicate directly with a processor 334 ofsmart appliance 330 through a user interface 332. However, in someimplementation, smart appliance may not have a user interface for humaninteraction and may require a mobile device for communicating with auser. User interface 332 may include a display, a microphone andspeaker, or other types of human interfaces. Processor 334 utilizes amemory 336 for storing an operating system, programs, and data such asappliance identifiers (IDs), registered user and device IDs, and userpreferences. Processor 334 also communicates with other devicesincluding a network interface through antennae 338. Antennae 338 caninclude antennae for near field communications, local networkcommunications, cellular communications, and other types ofcommunications. Alternatively, smart appliance 330 may utilize withother types of communications with other devices such as infrared,optical, auditory, visual (e.g., through a display), etc. Smartappliance also communicates with internal (or local) sensors 340 forreceiving information regarding the status of the operation of the smartappliance. Smart appliance 330 can also communicate with external (orremote) sensors 342 through antennae 332, either directly such asthrough a Bluetooth connection or indirectly such as through a localarea network. External sensors may be sensors for other smart ornon-smart appliances such as A/C humidity detectors. For example, ifsmart appliance 330 is a toaster, heat sensors could be utilized todetect temperature, optical sensors to detect the color of the itemtoasted, smoke sensors to detect burning toast, etc.

Second user 302 can also communicate directly with a processor 384 ofsmart appliance 380 through a user interface 382. However, in someimplementation, smart appliance may not have a user interface for humaninteraction and may require a mobile device for communicating with auser. User interface 382 may include a display, a microphone andspeaker, or other types of human interfaces. Processor 384 utilizes amemory 386 for storing an operating system, programs, and data such asappliance identifiers (IDs), registered user and device IDs, and userpreferences. Processor 384 also communicates with other devicesincluding a network interface through antennae 388. Antennae 388 caninclude antennae for near field communications, local networkcommunications, cellular communications, and other types ofcommunications. Alternatively, mobile device 380 may utilize other typesof communications with other devices such as infrared, optical,auditory, visual (e.g., through a display), etc. Smart appliance alsocommunicates with internal (or local) sensors 390 for receivinginformation regarding the status of the operation of the smartappliance. Smart appliance 380 can also communicate with external (orremote) sensors 392 through antennae 382, either directly such asthrough a Bluetooth connection or indirectly such as through a localarea network. External sensors may be sensors for other smart ornon-smart appliances such as smoke detectors. For example, if smartappliance 380 is a clothes dryer, heat sensors could be utilized todetect temperature, humidity sensors to detect dryness of the clothes,etc.

Server 320 can be a centralized server for multiple locations, a localserver for one location, or a local dedicated device for assisting theinteraction between users, mobile devices and smart appliances. Server320 can include a user interface 322 for direct interaction of processor324 with a user(s). Processor 324 can store in memory 326 a set of userpreferences associated with a specific user(s) through a user ID and/orassociated with a specific mobile device(s) through a device ID.Additional information can include the general location of the smartappliance(s) using global positioning system (GPS) or other coordinates,a list of smart appliances at a given location (household or business),etc.

FIG. 4 is a flow diagram of registering a mobile device with a smartappliance in which various embodiments may be implemented. This processprovides information to a smart appliance for use as described belowwith the first and second embodiments. For example, information such asuser preferences, a storage location of user preferences, mobile deviceand user contact information, etc. may be provided during thisregistration process. This registration process can be initiated duringthe loading of an application on a mobile device, when a smart applianceis installed, or at any time during the life of either device includinganytime the smart appliance is turned on by the user for use. Thisprocess can be repeated with many different combinations of mobiledevices with smart appliances.

In a first step 400, the mobile device contacts the smart appliance orvice versa, typically at the request of the user. This can be performedby direct or near contact with the other device or by addressing theother device using identifiers such as across a network. Then in step405, a mobile device and smart device initiate a communication session.This communication session can be established locally such as throughnear field communications, Bluetooth, or other methods. Thiscommunication session can also be established remotely such as acrossthe internet through a network interface. This communication session maybe a secure or not depending on the implementation. Processing thencontinues to step 410.

In step 410, various identifiers are exchanged for establishing futurecommunications. For example, if the mobile device is a mobile phone, thephone number of the phone may be provided to the smart appliance forsending a text to the mobile phone. In step 415, the user associatedwith the mobile device is identified. This user identifier may be aname, a number, biometric information, or other type of identifier. Forexample, if there are three users for a household that may utilize thedevice, then the users may be A, B and C with user A being associatedwith this mobile device. The user identifier may be provided by the user(e.g., John) through the mobile device or the mobile device may providethe user identifier. For example, the user may take a picture of him orherself to be used for facial or other biometric recognition. Becausethe user is generally understood to be carrying the mobile device(especially for wearable devices), identification of the mobile devicewill generally equate to recognizing the user and vice versa. The useridentifier may simply be the mobile device identifier. Also, two usersmay be associated with a given mobile device. However, this maynecessitate establishing the user of the mobile device when the smartappliance is turned on or given instructions to perform a task.

Then in step 420, user preferences are established. These may bestandard user preferences provided by the smart appliance for possiblemodification by the user, previously established user preferences storedin the mobile device or server memory, etc. The user preferences may bedownloaded or otherwise provided to the smart appliance, or a link tothose user preferences stored elsewhere may be provided. If a link isprovided, then the user can modify those user preferences withoutcontacting the smart appliance. That is, when the smart appliance isturned on or given a task and a user identifier is provided, the smartappliance can then use the provided link to download the relevant userpreferences for that user and smart appliance. User preferences are userconfigurable and can be utilized for a variety of purposes. For example,the user can provide or otherwise configure the circumstances when astatus update message will be sent, the type of message sent, the amountof information provided with the message, proximity ranges to utilize indetermining whether to send a message to a mobile device, etc. There canbe a set of user configurable default user preferences for utilizing asneeded and which the user can modify or not as the user desires.Processing can then continue to a task to be performed by the smartappliance or processing can cease until the smart appliance is turned onagain or given a task to perform.

FIG. 5 is a flow diagram of a smart appliance performing a task inaccordance with a first embodiment. In this embodiment, the smartappliance pushes various notifications to the user through the mobiledevice associated with that user in a push model. In this push model,notification can be sent by the smart appliance to the mobile devicebased on either status changes, timing intervals or other basis as maybe indicated by user preferences. The type of user notifications(messages) can be based on the relative location of the user to thesmart appliance as may be indicated by user preferences. In the secondembodiment described below, the smart appliance responds to mobiledevice queries in a pull model.

In a first step 500, the smart appliance is started. It can be startedby the user, by an internal timer, or by another smart appliance. Forexample, the user can manually press or select an on button or userentry input interface on the appliance (e.g., touch screen). The usercan also send a signal to the smart device such as through an infraredremote or through a mobile device. An internal timer may be programmedto start the appliance at a certain time such as a coffee maker in themorning. The smart appliance may also be turned on by another appliance.For example, the user starts a smart pot on a range, so the smart potmay notify the range to turn on. Other types of starting the smartappliance may be utilized.

In a second step 505, a mobile device and the user associated with thatmobile device is identified for establishing a communication link orother connection with the smart appliance. Typically, the user isassociated with the mobile device most proximate to (e.g., closest to)the smart appliance when that appliance is started. Proximity is acloseness of a person (and/or his mobile device) to a smart applianceand is not necessarily based solely on distance. For example, a personin a room with a smart appliance may be further from that appliance thananother person in an adjoining room. However, the person in the room maybe considered most proximate. This proximity may be determined based onstrength of Bluetooth signals, strength of connection with a local areanetwork, global positioning signal (GPS) location, or other method foridentifying proximity. For example, sensors such as video cameras withfacial recognition may be utilized to identify the user most proximateto the appliance, which is then used to identify the mobile deviceassociated with the user per the registration process described above.If the smart appliance determines that the user is not carrying themobile device (e.g., the user enters the room as recognized by a videocamera, yet the Bluetooth or wireless LAN determine the mobile device islocated elsewhere), then the smart appliance could verbally or visuallyremind the user to carry the mobile device in order to obtain a moredetailed status message from the smart appliance. Alternatively, theuser and the user's mobile device may be identified as most proximate tothe smart appliance if that mobile device is utilized to turn on theappliance or to provide a task for the appliance, regardless of thedistance of the mobile device to the smart appliance. In anotheralternative, the user may be pre-identified. For example, there may be asingle mobile device/user registered for the smart appliance or the usermay be designated for the task selected for the appliance (e.g., toastlightly toasted may be user 1 and toast dark toasted may be user 2). Insome cases, more than one mobile device and/or user may be identified.For example, for a given device, all mobile devices and their userswithin the facility may be identified for notifications, eitherconcurrently or in sequence. If no mobile device is identified, then adefault mobile device may be identified from memory, such as the lastuser of the smart appliance. In some cases, only a mobile device isidentified at this point, with the user to be identified in the stepsbelow.

In step 510, a connection is established between the identified mobiledevice and the smart appliance to enable upcoming communications. Thisconnection may be direct, such as with a Bluetooth link, or indirectsuch as through a router, a cellular network, or across the internet.This connection may be a secure connection for secure communications,depending on the implementation, the location of the mobile device,and/or user preferences.

Then in step 515, if not already accomplished in step 505, an attempt ismade to associate a user with the identified mobile device. For example,there may have been a mobile device most proximate to the smartappliance when that appliance was started. However, if that mobiledevice had not previously been registered with the smart appliance, thenthe user may not have been identified yet. As a result, a registrationprocess may be initiated to accomplish that association. The location ofthe mobile device identified in this or the previous step can be storedand may be monitored by the smart appliance for future use as describedbelow. If no user is identified, then processing can continue usingdefault user preferences.

Then in step 520, user preferences for the identified user are obtained.These user preferences may be stored on the mobile device fordownloading, stored in a server, a cloud implementation or other thirdparty location, or stored in the smart appliance. If stored in the smartappliance, the user preferences may be uploaded to the mobile device. Ifthere are no specified user preferences for the identified user, thendefault preferences may be utilized instead. The user preferences canthen be utilized for implementing the notification process also referredto herein as status updates or messages.

In step 525, the smart appliance receives the task to be performed. Thismay be entered manually by the user through the smart appliance userinterface, from the mobile device user interface and communicated to theappliance, or through another device such as a computer. The task couldbe any task that the smart appliance is designed to perform. Forexample, an air conditioning unit may be provided a desirabletemperature and humidity, a toaster may receive a toast color request ora length of time to toast specification, etc. Then in step 530, thesmart appliance starts performing the requested task.

Although the above steps are performed in a given sequence, those stepsmay be performed in an alternative order. For example, a user maymanually start a smart appliance (step 500) and provide a task to beperformed (step 525) through the user interface of that smart applianceprior to the mobile device and user being identified (steps 505 and515), prior to establishing a connection with the mobile device (step510), and prior to obtaining the user preferences (step 520). Othersequences can be utilized. Also, sometimes a task is ongoing and theuser/mobile device to receive status updates may change. In these cases,the above steps can be performed mid-task.

In step 540, it is determined whether a scheduled time for providing astatus update has occurred. For example, the user preferences mayrequest a status update every two minutes. If yes, then processingcontinues to step 550, otherwise processing continues to returns to step545.

In step 545, it is determined whether a status change has occurred thatprompts a status update to the user as per the user preferences. Thestatus change may be a task based status change by the smart applianceor a location based status change by the mobile device. The task basedstatus change may prompt a status update to remind the user to performan action. For example, that task based status change may be a change instatus of a task being performed by the smart appliance, such as atemperature may have been reached in an oven so that the food to becooked can be placed in the oven. The task based status change mayprompt a status update to warn the user of a condition that needsattention. For example, a pot may boil over, food may burn, a watersoftener may need refilling, etc. The status change may also be inresponse to the user (and his or her mobile device) changing location.That location based status change may be the user leaving the room,leaving the facility, leaving the facility grounds, etc. For example, ifa task is being performed and the user leaves the facility, the user maybe reminded that the smart appliance is performing the task (e.g., theoven was left on cooking food). This status change can be detected bythe phone and forwarded to the smart appliance, or it may be detected bythe smart appliance through internal or external sensors. The types oflocation changes that are determined to be status changes can be setforth in the user preferences, as part of the smart applianceprogramming, as part of the mobile device programming, etc. If yes instep 545, then processing continues to step 550, otherwise processingreturns to step 540. It is assumed that task completion would prompt astatus update. If not, then an additional step may be implemented toshut down the appliance when the task is completed.

In step 550, the location of the user is identified and the relativelocation or proximity of the user to the smart appliance is determined.For example, the user may be in close proximity to the smart appliance,the user may be somewhat remote from the smart appliance while still inthe same facility, or the user may be outside the facility and somedistance from the smart appliance. The location of the user can bedetermined from facial or biometric recognition of the user or from thelocation of the mobile device associated with the user per theregistration process described above. The mobile device location can bedetermined through several techniques such as strength of a Bluetoothsignal from the mobile device, strength of connection with a local areanetwork, from a GPS location provided by the mobile device, etc. Thisinformation can be utilized to determine whether the user or mobiledevice is within a proximate range to the smart appliance (e.g., thesame room). The GPS location may be periodically provided by the mobiledevice to the smart appliance, it may be provided whenever the locationof the mobile device changes more than some predetermined amount or froma predetermined location range, or it may be provided in response to aquery from the smart appliance. The location of the mobile device mayhave been monitored continuously by the smart appliance since the taskwas initiated.

It is then determined in step 555 whether to provide a status updatemessage through the smart appliance user interface, the mobile deviceuser interface, or both interfaces. This determination can be made basedon the location of the user or relative location of the user's mobiledevice to the smart appliance, the user preferences, and the type ofstatus update. That is, it is determined whether the mobile device iswithin a user configurable proximity range of the smart appliance. Theproximity range is based on proximity and is not necessarily basedsolely on distance. For example, the user may configure the proximityrange to include the facility where the smart appliance is located butnot outside the facility. As a result, a person in the facility with thesmart appliance may be further from that appliance (but more proximateand within the user configured proximity range) than another person inthe adjoining facility. For example, if the user is in the same room asthe smart appliance, then an audible or visual signal or a combinationof both may be performed to notify the user of the current status of thesmart appliance. However, if the user is outside of the facility (andthe user configurable range), then a status update may be provided tothe user through the mobile device user interface. A user can specifythat every status update or certain types of updates be provided throughthe mobile device user interface. For example, if the user is hearingimpaired, then an audible or visual signal through the smart applianceuser interface may not be noticed, necessitating a notification throughthe mobile device user interface (e.g., utilizing a vibration alert tobring attention to the status update). In an alternative embodiment, amessage may be sent to the mobile device when the user enters the userconfigurable proximity range such as to provide a status of the smartappliance. Also, if the smart appliance is in an off, task completed, orother state the message may be suppressed. In addition, if the statusupdate is a warning of a dangerous condition, then both the smartappliance and mobile device user interfaces may be utilized at the sametime.

In step 560, the user is then notified of the status update of the smartappliance as determined in step 550. This status update can be in theform of an audible or visual signal, a text, and email, or other form ofcommunication. In step 565, it is determined whether other actionsshould be taken should the user not respond to the status update. Thatis, it is determined whether the user needs to respond to the statusupdate. For example, the hot water heater can detect a constant flowindicating a faucet is running when the user leaves the facility. Ifyes, then processing continues to step 570, otherwise processingcontinues to step 590.

In step 570, it is determined whether the user has responded to thestatus update requiring the user's response. If not, then processingcontinues to step 575, otherwise processing continues to step 590. Instep 575, it is determined whether the time since the user has beennotified has exceeded a predetermined time to respond. If not, thenprocessing returns to step 570, otherwise continues to step 580. In step580, the user is again notified of the status update, generally by boththe smart appliance and mobile device user interfaces. Alternatively,another user(s) may be notified of the status update in place of or inaddition to the current user. The other user may be notified based onuser preferences, default parameters, or based on the type of statuschange (e.g., food is burning). Additionally, other users may becontacted concurrently or in series (i.e., a rollover process) asprevious users do not respond. In addition, the smart appliance can alsoperform any additional steps, such as shutting down, based on the lackof response by the user. Processing then returns to step 570.

In step 590, it is determined whether the task has been completedincluding notification to the user if so required. If not, thenprocessing returns to step 540, otherwise the smart appliance completesand task ending processes (e.g., turns off) and processing ceases.

FIG. 6 is a flow diagram of a smart appliance performing a task inaccordance with a second embodiment. In this embodiment, the smartappliance responds to mobile device queries in a pull model. In a firststep 600, the smart appliance is started. It can be started by the user,by an internal timer, or by another smart appliance. For example, theuser can manually press or select an on button or user entry inputinterface on the appliance (e.g., touch screen). The user can also senda signal to the smart device such as through an infrared remote orthrough a mobile device. An internal timer may be programmed to startthe appliance at a certain time such as a coffee maker in the morning.The smart appliance may also be turned on by another appliance. Forexample, the user starts a smart pot on a range, so the smart pot maynotify the range to turn on. Other types of starting the smart appliancemay be utilized.

In a second step 605, a mobile device and the user associated with thatmobile device is identified for establishing a communication link orother connection with the smart appliance. Typically, the user isassociated with the mobile device most proximate to (e.g., closest to)the smart appliance when that appliance is started. Proximity is acloseness of a person (and/or his mobile device) to a smart applianceand is not necessarily based solely on distance. For example, a personin a room with a smart appliance may be further from that appliance thananother person in an adjoining room. However, the person in the room maybe considered most proximate. This proximity may be determined based onstrength of Bluetooth signals, strength of connection with a local areanetwork, global positioning signal (GPS) location, or other method foridentifying proximity. For example, sensors such as video cameras withfacial recognition may be utilized to identify the user most proximateto the appliance, which is then used to identify the mobile deviceassociated with the user per the registration process described above.If the smart appliance determines that the user is not carrying themobile device (e.g., the user enters the room as recognized by a videocamera, yet the Bluetooth or wireless LAN determine the mobile device islocated elsewhere), then the smart appliance could verbally or visuallyremind the user to carry the mobile device in order to obtain a moredetailed status message from the smart appliance. Alternatively, theuser and the user's mobile device may be identified as most proximate tothe smart appliance if that mobile device is utilized to turn on theappliance or to provide a task for the appliance, regardless of thedistance of the mobile device to the smart appliance. In anotheralternative, the user may be pre-identified. For example, there may be asingle mobile device/user registered for the smart appliance or the usermay be designated for the task selected for the appliance (e.g., toastlightly toasted may be user 1 and toast dark toasted may be user 2). Insome cases, more than one mobile device and/or user may be identified.For example, for a given device, all mobile devices and their userswithin the facility may be identified for notifications, eitherconcurrently or in sequence. If no mobile device is identified, then adefault mobile device and user may be identified from memory, such asthe last user of the smart appliance. In some cases, only a mobiledevice is identified at this point, with the user to be identified inthe steps below.

In step 610, a connection is established between the identified mobiledevice and the smart appliance to enable upcoming communications. Thisconnection may be direct, such as with a Bluetooth link, or indirectsuch as through a router, a cellular network, or across the internet.This connection may be a secure connection for secure communications,depending on the implementation, the location of the mobile device,and/or user preferences.

Then in step 615, if not already accomplished in step 605, an attempt ismade to associate a user with the identified mobile device. For example,there may have been a mobile device most proximate to the smartappliance when that appliance was started. However, if that mobiledevice had not previously been registered with the smart appliance, thenthe user may not have been identified yet. As a result, a registrationprocess may be initiated to accomplish that association. The location ofthe mobile device identified in this or the previous step can be storedand may be monitored by the smart appliance for future use as describedbelow. If no user is identified, then processing can continue usingdefault user preferences.

Then in step 620, user preferences for the identified user are obtained.These user preferences may be stored on the mobile device fordownloading, stored in a server, a cloud implementation or other thirdpart location, or stored in the smart appliance. If stored in the smartappliance, the user preferences may be uploaded to the mobile device. Ifthere are no specified user preferences for the identified user, thendefault preferences may be utilized instead. The user preferences canthen be utilized for implementing the notification process also referredto herein as status updates or messages.

In step 625, the smart appliance receives the task to be performed. Thismay be entered manually by the user through the smart appliance userinterface, from the mobile device user interface and communicated to theappliance, or through another device such as a computer. The task couldbe any task that the smart appliance is designed to perform. Forexample, an air conditioning unit may be provided a desirabletemperature and humidity, a toaster may receive a toast color request ora length of time to toast specification, etc. Then in step 630, thesmart appliance starts performing the requested task.

Although the above steps are performed in a given sequence, those stepsmay be performed in an alternative order. For example, a user maymanually start a smart appliance (step 600) and provide a task to beperformed (step 625) through the user interface of that smart applianceprior to the mobile device and user being identified (steps 605 and615), prior to establishing a connection with the mobile device (step610), and prior to obtaining the user preferences (step 620). Othersequences can be utilized.

In step 640, it is determined whether a status update request has beenreceived by the smart appliance. If not, then processing returns to step640 to repeat until such a request is received. Otherwise, processingcontinues to step 645. In step 645, the smart appliance processes therequest for a status update from the mobile device. That request mayhave been prompted by a location change of the mobile device, by a userrequest through the user interface on the mobile device, based on ascheduled time for a status update as tracked by the mobile device, orother basis. For example, the mobile device may request a status updatewhenever the user enters or exits the room where the appliance islocated or when the mobile device shifts from a local area networkconnection to a cellular connection. For another example, the user maymanually request a status update at any time through the mobile deviceuser interface. For a further example, depending on the task requestedof the smart appliance (such as by the user through the mobile device),the mobile device may request a status update when it is anticipatedthat a certain action by the user needs to be taken.

In step 650, the location of the user is identified and the relativelocation of the user to the smart appliance is determined. For example,the user may be in close proximity to the smart appliance, the user maybe somewhat remote from the smart appliance while still in the samefacility, or the user may be outside the facility and some distance fromthe smart appliance. The location of the user can be determined fromfacial or biometric recognition of the user or from the location of themobile device associated with the user per the registration processdescribed above. The mobile device location may have been provided inthe status update request from the mobile device, or it can bedetermined through several techniques such as strength of a Bluetoothsignal from the mobile device, strength of connection with a local areanetwork, from a GPS location provided by the mobile device, etc. Thisinformation can be utilized to determine whether the user or mobiledevice is within a proximate range to the smart appliance (e.g., thesame room). The GPS location may be periodically provided by the mobiledevice to the smart appliance, it may be provided whenever the locationof the mobile device changes more than some predetermined amount or froma predetermined location range, or it may be provided in response to aquery from the smart appliance. The location of the mobile device mayhave been monitored continuously by the smart appliance since the taskwas initiated.

It is then determined in step 655 whether to provide a status updatethrough the smart appliance user interface, the mobile device userinterface, or both interfaces. This determination can be made based onthe location of the user or relative location of the user's mobiledevice to the smart appliance, the user preferences, and the type ofstatus update. That is, it is determined whether the mobile device iswithin a user configurable proximity range of the smart appliance. Theproximity range is based on proximity and is not necessarily basedsolely on distance. For example, the user may configure the proximityrange to include anyone within Wi-Fi range of the facility's wirelessrouter where the smart appliance is located. As a result, a personlocated outside the facility behind a thin wall may be further from thatappliance (but more proximate and within the user configured proximityrange) than another person on the other end of the facility and behind athick internal wall. For example, if the user is in the same room as thesmart appliance, then an audible or visual signal or a combination ofboth may be performed to notify the user of the current status of thesmart appliance. However, if the user is outside of the facility (andthe user configurable range), then a status update may be provided tothe user through the mobile device user interface. A user can specifythat every status update or certain types of updates be provided throughthe mobile device user interface. For example, if the user is hearingimpaired, then an audible or visual signal through the smart applianceuser interface may not be noticed, necessitating a notification throughthe mobile device user interface (e.g., utilizing a vibration alert tobring attention to the status update). In an alternative embodiment, amessage may be sent to the mobile device when the user enters the userconfigurable proximity range such as to provide a status of the smartappliance. Also, if the smart appliance is in an off, task completed, orother state the message may be suppressed. In addition, if the statusupdate is a warning of a dangerous condition, then both the smartappliance and mobile device user interfaces may be utilized at the sametime.

In step 660, the user is then notified of the status update of the smartappliance as determined in step 650. This status update can be in theform of an audible or visual signal, a text, and email, or other form ofcommunication. Then in step 665, it is determined whether the task hasbeen completed including notification to the user if so required. Ifnot, then processing returns to step 640, otherwise the smart appliancecompletes and task ending processes (e.g., turns off) and processingceases.

Combinations of the first and second embodiments may be utilized. Forexample, certain status changes by the smart appliance may prompt astatus update to the user, and location changes by the mobile device mayprompt a status update query to the smart appliance. As described above,these status updates may be based on user preferences or predeterminedprogramming within the smart appliance, the mobile device, or at aremote location.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage media, and cache memories, which provide temporary storage of atleast some program code in order to reduce the number of times code mustbe retrieved from bulk storage media during execution.

A data processing system may act as a server data processing system or aclient data processing system. Server and client data processing systemsmay include data storage media that are computer usable, such as beingcomputer readable. A data storage medium associated with a server dataprocessing system may contain computer usable code such as for managinga smart appliance with a mobile device. A client data processing systemmay download that computer usable code, such as for storing on a datastorage medium associated with the client data processing system, or forusing in the client data processing system. The server data processingsystem may similarly upload computer usable code from the client dataprocessing system such as a content source. The computer usable coderesulting from a computer usable program product embodiment of theillustrative embodiments may be uploaded or downloaded using server andclient data processing systems in this manner.

Input/output or I/O devices (including but not limited to keyboards,displays, pointing devices, etc.) can be coupled to the system eitherdirectly or through intervening I/O controllers.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, cable modem and Ethernet cards are just a few of thecurrently available types of network adapters.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Theembodiment was chosen and described in order to explain the principlesof the invention, the practical application, and to enable others ofordinary skill in the art to understand the invention for variousembodiments with various modifications as are suited to the particularuse contemplated.

The terminology used herein is for the purpose of describing particularembodiments and is not intended to be limiting of the invention. As usedherein, the singular forms “a”, “an” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method for a smart appliance to interact with auser through a mobile device comprising: receiving a set of userpreferences from a first user including a user configurable proximityrange from the smart appliance and including conditions for the smartappliance to send a status update to the first user through anassociated mobile device; detecting whether the mobile device associatedwith a first user is outside the user configurable proximity range of asmart appliance; detecting a current status of the smart appliance by aset of sensors; generating a user configurable message based, at leastin part, upon the current status of the smart appliance; responsive todetecting that the mobile device is outside the user configurableproximity range and detecting the conditions received in the set of userpreferences, sending the user configurable message from the smartappliance to the mobile device associated with the first user includingthe current status of the smart appliance; determining that the firstuser did not respond to the user configurable message; and responsive tothe determination that the user did not respond, performing an actionincluding notifying a second user of the user configurable messagethrough a second mobile device associated with the second user.
 2. Themethod of claim 1 wherein the action, performed in response todetermining that the first user did not respond to the message, is basedon the current status of the device.
 3. The method of claim 1 furthercomprising determining whether to shut down the smart appliance inaccordance with the set of user preferences if the first user does notrespond to the user configurable message.
 4. The method of claim 1wherein a video camera with facial recognition is utilized for detectingthe first user thereby identifying the mobile device associated with thefirst user.
 5. The method of claim 1 wherein determining a geographicscope of the user configurable proximity range based, at least in part,upon at least one of the following: global positioning signal (GPS)location of the mobile device; and sensors identifying a location of anyusers associated with the mobile device.
 6. The method of claim 1wherein the smart appliance is a cooking device and the status includesa state of a food item being cooked by the smart appliance.
 7. Themethod of claim 1 further comprising responsive to detecting that themobile device is within the user configurable proximity range, sending amessage to the user by the smart appliance.
 8. The method of claim 1wherein the set of sensors includes sensors in the smart appliance andexternal sensors coupled to a local network.
 9. The method of claim 2further comprising determining whether to provide a status update to themobile device based on a status change; and responsive to detecting thatthe mobile device is within the user configurable proximity range,sending a message to the user by the smart appliance; wherein the statuschange includes a change in status of a task being performed by thesmart appliance; wherein the status change includes a change in locationof the mobile device; wherein the smart appliance is a cooking deviceand the status includes a state of a food item being cooked by the smartappliance; and wherein the set of sensors includes sensors in the smartappliance and external sensors coupled to a local network.
 10. Acomputer program product for managing a smart appliance with a mobiledevice, the computer program product comprising a computer readablestorage medium having program instructions embodied therewith, theprogram instructions executable by a processing circuit to cause thedevice to perform a method comprising: receiving a set of userpreferences from a first user including a user configurable proximityrange from the smart appliance and including conditions for the smartappliance to send a status update to the first user through anassociated mobile device; detecting whether the mobile device associatedwith a first user is outside the user configurable proximity range of asmart appliance; detecting a current status of the smart appliance by aset of sensors; generating a user configurable message based, at leastin part, upon the current status of the smart appliance; responsive todetecting that the mobile device is outside the user configurableproximity range and detecting the conditions received in the set of userpreferences, sending the user configurable message from the smartappliance to the mobile device associated with the first user includingthe current status of the smart appliance; determining that the firstuser did not respond to the user configurable message; and responsive tothe determination that the user did not respond, performing an actionincluding notifying a second user of the user configurable messagethrough a second mobile device associated with the second user.
 11. Thecomputer program product of claim 10 wherein the action, performed inresponse to determining that the first user did not respond to themessage, is based on the current status of the device.
 12. The computerprogram product of claim 10 further comprising determining whether toshut down the smart appliance in accordance with the set of userpreferences if the first user does not respond to the user configurablemessage.
 13. The computer program product of claim 10 wherein a videocamera with facial recognition is utilized for detecting the first userthereby identifying the mobile device associated with the first user.14. The computer program product of claim 10 wherein determining ageographic scope of the user configurable proximity range based, atleast in part, upon at least one of the following: global positioningsignal (GPS) location of the mobile device; and sensors identifying alocation of any users associated with the mobile device.
 15. Thecomputer program product of claim 10 wherein the smart appliance is acooking device and the status includes a state of a food item beingcooked by the smart appliance.
 16. A data processing system for managinga smart appliance with a mobile device, the data processing systemcomprising: a processor; and a memory storing program instructions whichwhen executed by the processor execute the steps of: receiving a set ofuser preferences from a first user including a user configurableproximity range from the smart appliance and including conditions forthe smart appliance to send a status update to the first user through anassociated mobile device; detecting whether the mobile device associatedwith a first user is outside the user configurable proximity range of asmart appliance; detecting a current status of the smart appliance by aset of sensors; generating a user configurable message based, at leastin part, upon the current status of the smart appliance; responsive todetecting that the mobile device is outside the user configurableproximity range and detecting the conditions received in the set of userpreferences, sending the user configurable message from the smartappliance to the mobile device associated with the first user includingthe current status of the smart appliance; determining that the firstuser did not respond to the user configurable message; and responsive tothe determination that the user did not respond, performing an actionincluding notifying a second user of the user configurable messagethrough a second mobile device associated with the second user.
 17. Thedata processing system of claim 16 wherein the action, performed inresponse to determining that the first user did not respond to themessage, is based on the current status of the device.
 18. The dataprocessing system of claim 16 further comprising determining whether toshut down the smart appliance in accordance with the set of userpreferences if the first user does not respond to the user configurablemessage.
 19. The data processing system of claim 16 wherein a videocamera with facial recognition is utilized for detecting the first userthereby identifying the mobile device associated with the first user.20. The data processing system of claim 16 wherein determining ageographic scope of the user configurable proximity range based, atleast in part, upon at least one of the following: global positioningsignal (GPS) location of the mobile device; and sensors identifying alocation of any users associated with the mobile device.